import java.util.Arrays;
import java.util.LinkedList;

/**
 * @Description
 * @Author zhaobaolin
 * @Date 2018/10/24
 */
public class LinkedListTest {

    public static void main(String[] args) {
        handle();
    }

    /**
     * 创建
     */
    private static void create()
    {
        LinkedList<Integer> a1 = new LinkedList<>();//创建一个空链表
        LinkedList<Integer> a2 = new LinkedList<>(Arrays.asList(2,5,6));//将一个Collection集合初始化成LinkedList
    }

    /**
     * 一般操作
     */
    private static void handle(){
        LinkedList<String> a1 = new LinkedList<>();
        a1.add("A");
        a1.add("C");
        a1.add(1,"B");//添加到指定位置
        System.out.println(a1);//output：[A, C, B]

        a1.addFirst("A0");//添加到头部
        System.out.println(a1);//output：[A0, A, B, C]

        a1.addLast("D");//添加到尾部
        System.out.println(a1);//output：[A0, A, B, C, D]

        String s1 = a1.getFirst();//获取头部元素
        System.out.println(s1);//output：A0

        String s2 = a1.getLast();//获取尾部元素
        System.out.println(s2);//output：D

        String s3 = a1.get(1);//获取指定位置的元素
        System.out.println(s3);//output：A

        a1.remove("B");//移除元素
        System.out.println(a1);//output：[A0, A, C, D]

        a1.remove(1);//移除指定位置的元素
        System.out.println(a1);//output：[A0, C, D]

        a1.removeFirst();//移除第一个元素
        System.out.println(a1);//output：[C, D]

        a1.removeLast();//移除最后一个元素
        System.out.println(a1);//output：[C]

    }


}
